<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>支付宝即时到账交易接口接口</title>
    </head>
    <?php
    /*     *
     * 功能：即时到账交易接口接入页
     * 版本：3.4
     * 修改日期：2016-03*08
     * 说明：
     * 以下代码只是为了方便商户测试而提供的样例代码，商户可以根据自己网站的需要，按照技术文档编写,并非一定要使用该代码。
     * 该代码仅供学习和研究支付宝接口使用，只是提供一个参考。

     * ************************注意*****************

     * 如果您在接口集成过程中遇到问题，可以按照下面的途径来解决
     * 1、开发文档中心（https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.KvddfJ&treeId=62&articleId=103740&docType=1）
     * 2、商户帮助中心（https://cshall.alipay.com/enterprise/help_detail.htm?help_id=473888）
     * 3、支持中心（https://support.open.alipay.com/alipay/support/index.htm）

     * 如果想使用扩展功能,请按文档要求,自行添加到parameter数组即可。
     * *********************************************
     */
    // 2016-6-27 新增非法调用检测
    $referer_ip = $_SERVER['HTTP_REFERER'];
    $allowips = array('117.25.177.102', '117.25.177.101', 'xcall.ehaocha.com');
    $ipstatus = false;
    if ($referer_ip) {
        foreach ($allowips as $ip) {
            if (strpos($referer_ip, $ip)) {
                $ipstatus = true;
                break;
            }
        }
    }
    if (!$ipstatus) {
        $msg = sprintf('[%s] [%s] %s', date('Y-m-d H:i:s'), $referer_ip, json_encode($_REQUEST));
        file_put_contents(sprintf('./log/log_%s.log', date('Ymd')), $msg . PHP_EOL, FILE_APPEND);
        //die('...');
    }

    require_once("alipay.config.php");
    require_once("lib/alipay_submit.class.php");
    $conf = include '../Application/Common/Conf/config.php';

    /*     * ************************请求参数************************* */
    //商户订单号，商户网站订单系统中唯一订单号，必填
    $out_trade_no = $_POST['WIDout_trade_no'];

    //订单名称，必填
    $subject = $_POST['WIDsubject'];

    //付款金额，必填
    $total_fee = $_POST['WIDtotal_fee'];
    if ($total_fee[0] == '?') {
        $total_fee = substr($total_fee, 1);
    }

    //商品描述，可空
    $body = $_POST['WIDbody'];


    // 写入数据库
    $remark = $_POST['remark'];
    $link = mysql_connect($conf['DB_HOST'], $conf['DB_USER'], $conf['DB_PWD']) or die('连接数据库失败!');
    mysql_select_db($conf['DB_NAME']);
    mysql_query('set names utf8');
    $sqlstmt="insert into tfinance_recharge (serial_no, amount, recharge_type, order_no, trade_no, remark_user) values ('$out_trade_no',$total_fee,'ALIPAY','$out_trade_no','$out_trade_no','$subject')";
    $result=mysql_query($sqlstmt);
    // $result = mysql_query("call proc_recharge_submit('$out_trade_no','$total_fee','$siteID','在线支付','$remark')");
    if ($result === false) {
        die('数据库操作有误!' . mysql_error());
    }
    mysql_close($link);


    /*     * ********************************************************* */

//构造要请求的参数数组，无需改动
    $parameter = array(
        "service" => $alipay_config['service'],
        "partner" => $alipay_config['partner'],
        "seller_id" => $alipay_config['seller_id'],
        "payment_type" => $alipay_config['payment_type'],
        "notify_url" => $alipay_config['notify_url'],
        "return_url" => $alipay_config['return_url'],
        "anti_phishing_key" => $alipay_config['anti_phishing_key'],
        "exter_invoke_ip" => $alipay_config['exter_invoke_ip'],
        "out_trade_no" => $out_trade_no,
        "subject" => $subject,
        "total_fee" => $total_fee,
        "body" => $body,
        "_input_charset" => trim(strtolower($alipay_config['input_charset']))
            //其他业务参数根据在线开发文档，添加参数.文档地址:https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.kiX33I&treeId=62&articleId=103740&docType=1
            //如"参数名"=>"参数值"
    );
//建立请求
    $alipaySubmit = new AlipaySubmit($alipay_config);
    $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "确认");
    echo $html_text;
    ?>
</body>
</html>